/**
 * @desc 获取网址参数
 * @param url
 * @returns {{}}
 */
const getURLParameters = url =>
	// 使用正则表达式 match 以获取所有键值对, 'http://url.com/page?name=Adam&surname=Smith' => [ 'name=Adam', 'surname=Smith' ]
	(url.match(/([^?=&]+)(=([^&]*))/g) || []).reduce(
		// 映射和它们合并成一个单一的对象
		// 如第一步 a: {}, v: name=Adam
		// 第二步 a: { name: 'Adam' }, v: surname=Smith
		(a, v) => (
			(a[v.slice(0, v.indexOf('='))] = v.slice(v.indexOf('=') + 1)), a
			// 返回当前对象
			// 如第一步 a: { name: 'Adam' }
			// 第二步 a: { name: 'Adam', surname: 'Smith' }
		),
		{}
	);

const url1 = 'google.com', url2 = 'http://url.com/page?name=Adam&surname=Smith'
console.log(getURLParameters(url1))   // {}
console.log(getURLParameters(url2))   // { name: 'Adam', surname: 'Smith' }
